/* Generic data processing backend */

#ifndef MC_DATA_SINK_HPP
#define MC_DATA_SINK_HPP

#include <memchart/types.hpp>

#include "object_map.hpp"

namespace memchart
{
	class data_sink
	{
		public:

			data_sink (const object_map & objects)
				: objects(objects)
			{ }

			virtual ~data_sink ()
			{ }

			/* Update data representation and possibly wait for user input */
			virtual void update (const string & msg) = 0;

		protected:

			const object_map & objects;
	};
}

#endif /* MC_DATA_SINK_HPP */
